//
//  KWNNetwork.h
//  KWNClient
//
//  Created by 张明磊 on 14-9-22.
//  Copyright (c) 2014年 张明磊. All rights reserved.
//
#import <Foundation/Foundation.h>

@class Model_question;
@class Model_comment;

typedef void (^requestResultBlock)(NSInteger stateCode, NSMutableArray *result);

#pragma mark - 网络请求 -
/**
 *  网络请求
 */
@interface KWNNetwork : NSObject

+ (KWNNetwork *)sharedInstance;

#pragma mark - 发送验证码 -
/**
 *  发送验证码
 */
- (void)regist_sendCode:(NSString *)phone finishBlock:(requestResultBlock)resultBlock;

#pragma mark - 重新发送验证码 -
/**
 *  重新发送验证码
 */
- (void)regist_reSendCode:(NSString *)phone finishBlock:(requestResultBlock)resultBlock;

#pragma mark - 校验验证码 -
/**
 *  校验验证码
 */
- (void )regist_verifyPhone:(NSString *)phone andCode:(NSString *)code finishBlock:(requestResultBlock)resultBlock;

#pragma mark - 设置密码 -
/**
 *  设置密码
 */
- (void )regist_setPassword:(NSString *)password andUid:(NSString *)string_uid finishBlock:(requestResultBlock)resultBlock;


#pragma mark - 登录 -
/**
 *  登录
 */
- (void )login_intPassword:(NSString *)string_password finishBlock:(requestResultBlock)resultBlock;

#pragma mark - 退出登录 -
/**
 *  退出登录
 */
- (void )login_outfinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 获取等待回答问题列表 -
/**
 *  获取等待回答问题列表
 */
- (void)question_getWaitListFinishBlock:(requestResultBlock)resultBlock;

- (void)question_getWaitListFinishStartNum:(NSInteger)startnum withResultBlock:(requestResultBlock)resultBlock;

#pragma mark - 获取正在回答问题列表 -
/**
 *  获取正在回答问题列表
 */
- (void)question_getNowListFinishBlock:(requestResultBlock)resultBlock;
- (void)question_getNowListFinishStartNum:(NSInteger)startnum withResultBlock:(requestResultBlock)resultBlock;

#pragma mark - 获取本律师回答问题列表 -
/**
 *  获取本律师回答问题列表
 */
- (void)question_getMyListFinishBlock:(requestResultBlock)resultBlock;
- (void)question_getMyListFinishStartNum:(NSInteger)startnum withResultBlock:(requestResultBlock)resultBlock;

#pragma mark - 获取问题详情 -
/**
 *  获取问题详情
 */
- (void)question_getQuestionDetailWithID:(NSString *)string_qID FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 追问 -
/**
 *  追问
 */
- (void)question_sendAddQuestion:(Model_question *)question FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 意见反馈 -
/**
 *  意见反馈
 */
- (void)question_sendFeedbackText:(NSString *)string_text FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 采纳别人意见 -
/**
 *  采纳别人意见
 */
- (void)question_questionAcceptWithID:(NSString *)string_qID adoptID:(NSString *)string_adoptID FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 用户找回密码发送验证码 -
/**
 *  用户找回密码发送验证码
 */
- (void)user_findMMPhone:(NSString *)string_phone FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 获取律师信息 -
/**
 *  获取律师信息
 */
- (void)lawyer_getLawyerInformationFinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 获取其他律师信息 -
/**
 *  获取其他律师信息
 */
- (void)lawyer_getOtherLawyerInformation:(NSString *)string_lawyerID FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 问题评价 -
/**
 *  问题评价
 */
- (void)question_gradeWith:(Model_comment *)model FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 查看评论 -
/**
 *  查看评论
 */
- (void)question_getComment:(NSString *)string_questionID FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 更新推送信息数量 -
/**
 *  更新推送信息数量
 */
- (void)push_upLoadPushNumber:(NSString *)string_count andQuestionID:(NSString *)string_qID FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 获取是否有未读信息 -
/**
 *  获取是否有未读信息
 */
- (void)push_getNewNotifacationFinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 同行律师点赞 -
/**
 *  同行律师点赞
 */
- (void)lawyer_didClickGoodButtonWithReplyID:(NSString *)reply_id FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 律师回答问题 -
/**
 *  律师回答问题
 */
- (void)send_answerQuestion:(NSString *)string_qID andText:(NSString *)string_content FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 编辑律师简介 -
/**
 *  编辑律师简介
 */
- (void)edit_laywerIntroduction:(NSString *)string_tro FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 编辑律师签名 -
/**
 *  编辑律师签名
 */
- (void)edit_laywerSign:(NSString *)string_signature FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 编辑律师头像 -
/**
 *  编辑律师头像
 */
- (void)edit_laywerPortrait:(NSString *)string_portrait FinishBlock:(requestResultBlock)resultBlock;

#pragma mark - 每天第一次打开app -
/**
 *  每天第一次打开app
 */
- (void)score_openAppFirstOneDay;

#pragma mark - 分享app -
/**
 *  分享app
 */
- (void)score_shareApp;

#pragma mark - 加密 -
- (NSString *)getSignWithArray:(NSMutableArray *)array_sort;


#pragma mark - 举报 -
- (void)reportWithQuestionId:(NSString *)qId andReportStr:(NSString *)reportstr FinishBlock:(requestResultBlock)resultBlock;

@end
